home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / minix / update~4.z / update~4 / lib_stdio_Readme < prev    next >
Encoding:
Text File  |  1989-09-06  |  3.7 KB  |  120 lines

  1. This package contains a complete replacement for the current Minix
  2. stdio package. The advantages offered by this replacement are:
  3.  
  4. o speed
  5. o full support for unbuffered, line buffered and fully buffered
  6.   modes of operation
  7. o support for update modes (r+, w+ and a+)
  8. o full varargs support
  9.  
  10. Here are some results when running the t*.c timing programs using the new
  11. stdio and the older Minix stdio:
  12.  
  13.         real        user        sys    output
  14. old tprintf    43.0        41.0        1.9    /dev/null
  15. new tprintf    20.0        18.3        2.0    /dev/null
  16. old tprintf    1:17.0        40.8        5.3    /dev/tty
  17. new tprintf    1:01.0        18.4        20.5    /dev/tty
  18.  
  19. old tfwrite    21.0        19.6        1.3    /dev/null
  20. new tfwrite    5.0        2.6        0.8    /dev/null
  21. old tfwrite    32.0        19.4        3.5    /dev/tty
  22. new tfwrite    15.0        2.7        2.1    /dev/tty
  23.  
  24. old tputc    4.0        3.1        0.1    /dev/null
  25. new tputc    2.0        1.0        0.7    /dev/null
  26. old tputc    8.0        3.1        1.0    /dev/tty    *
  27. new tputc    16.0        4.8        11.0    /dev/tty    *
  28.  
  29. The only anomaly is in the last two lines with the new stdio lagging far behind
  30. Minix stdio. This is due to the fact that the Minix version of putc() (or at
  31. least the version that I have) does not support line buffered operation so
  32. putc() does not flush on receipt of '\n'. This means that the older stdio is
  33. operating in a fully buffered mode (compare the user times) whereas the new
  34. one is line buffering the data. Thus the comparison is not really valid.
  35.  
  36. Here are some comparisons with the stdio provided on this Un*x system:
  37.  
  38.         real    user    sys
  39. new tputc    0.4    0.2    0.0
  40. pyr tputc    0.3    0.2    0.0
  41. new tprintf    12.4    2.6    0.6
  42. pyr tprintf    2.0    1.4    0.1
  43. new tfwrite    1.2    0.1    0.2
  44. pyr tfwrite    0.3    0.1    0.0
  45.  
  46. As can be seen, the only real difference is in the printf test.
  47.  
  48. The following files are provided:
  49.  
  50. _allocbu.c    stdio library
  51. _cleanup.c    stdio library
  52. _filbuf.c    stdio library
  53. _file.c        stdio library
  54. _flsbuf.c    stdio library
  55. _fopen.c    stdio library
  56. _slot.c        stdio library
  57. exercise.c            exercise stdio
  58. fclose.c    stdio library
  59. fdopen.c    stdio library
  60. fflush.c    stdio library
  61. fgetc.c        stdio library
  62. fgets.c        stdio library
  63. fopen.c        stdio library
  64. fprintf.c    stdio library
  65. fputc.c        stdio library
  66. fputs.c        stdio library
  67. fread.c        stdio library
  68. freopen.c    stdio library
  69. fscanf.c    stdio library
  70. fseek.c        stdio library
  71. ftell.c        stdio library
  72. fwrite.c    stdio library
  73. gets.c        stdio library
  74. getw.c        stdio library
  75. printf.c    stdio library
  76. puts.c        stdio library
  77. putw.c        stdio library
  78. rewind.c    stdio library
  79. scanf.c        stdio library
  80. setbuf.c    stdio library
  81. setvbuf.c    stdio library
  82. sprintf.c    stdio library
  83. sscanf.c    stdio library
  84. stdio.c        stdio library
  85. tfwrite.c            timing stdio
  86. tprintf.c            timing stdio
  87. tputc.c                timing stdio
  88. ungetc.c    stdio library
  89. vfprintf.c    stdio library
  90. vfscanf.c    stdio library
  91. vprintf.c    stdio library
  92. vscanf.c    stdio library
  93. vsprintf.c    stdio library
  94. vsscanf.c    stdio library
  95. bitset.h            stdio internals
  96. prototype.h            stdio internals
  97. stdio.h        stdio library
  98. stdiolib.h            stdio internals
  99.  
  100. These files supersede all the stdio related files in the Minix library. Only
  101. stdio.h should be placed in the include directory. You can put proto.h in
  102. there too if you like. All other .h files are internal.
  103.  
  104. There are two makefiles provided but they're both site specific (mine :-). You
  105. should be able to cobble one up. Basically all you need to do is to compile all
  106. the library modules and stick them in the library. You will also have to remove
  107. the old Minix stdio modules from the library (best to do this first).
  108.  
  109. To compile the test programs, just compile and link them either with all the
  110. stdio modules if you haven't updated the library yet, or just with the library
  111. if you have updated it. You can also try linking them with the old Minix stdio
  112. modules if you want to compare the two.
  113.  
  114. Make sure that MINIX is defined when you compile. (I'm not quite sure if that's
  115. predefined in Minix cc).
  116.  
  117. Enjoy!
  118.  
  119. Earl
  120.